//! Redis服务器启动模块
//! 
//! 提供不同模式的Redis服务器启动功能
//! 基于SOLID原则重构，实现高内聚低耦合的架构

// 原有模块
pub mod standalone;
pub mod cluster;
pub mod traits;
pub mod redis_service;

// 重构后的增强模块
pub mod enhanced_traits;
pub mod service_manager;
pub mod component_factory;
pub mod event_publisher;
pub mod config_manager;
pub mod refactored;

// 兼容性导出 - 保持现有API
pub use traits::ServerMode;
pub use standalone::StandaloneServer;
pub use cluster::ClusterServer;
pub use redis_service::{start_redis_service, start_redis_service_with_mode, stop_redis_service, RedisService};

// 新增增强功能导出
pub use enhanced_traits::*;
pub use service_manager::{ServiceManager, ConcurrentServiceManager};
pub use component_factory::{DefaultComponentFactory, ExtendedComponentFactory, ComponentFactoryRegistry, global_factory_registry};
pub use event_publisher::{DefaultEventPublisher, EventStats, EventTypeFilter, ServerModeFilter, LoggingEventListener, MetricsEventListener, create_default_event_publisher, create_production_event_publisher};
pub use config_manager::{ConfigManager, FileConfigSource, EnvConfigSource, CliConfigSource, ConfigFormat, ConfigSourceInfo, create_standard_config_manager, create_file_config_manager, create_production_config_manager};
pub use refactored::*;

// 测试模块
#[cfg(test)]
mod tests;